As computing technology has advanced, increasingly powerful mobile devices have become available. For example, smart phones have become commonplace. The mobility of such devices has resulted in different types of functionality being developed, such as location-based functionality, in which certain actions are taken by the device based on the location of the device. Such location-based functionality (e.g., location-based alerts) are given by creating (or pre-defining) one or more geo-fences on the device and associating certain actions to be performed when the device enters and/or exits the pre-defined geo-fences. While this functionality has many benefits, it is not without its problems. One such problem is that the location-based functionality typically requires a lot of power, especially if the processing is handled by a device processor (e.g., application processor) using limited battery power. Additionally, location-based functionalities using positioning signals can become unreliable if reception of the positioning signals is disrupted and the positioning signals become degraded. Yet another problem is that location-based functionalities often times require the use of large portions of the on-chip memory, causing substantial system delays and inferior responsiveness of the device.